Aufgabe: ======== In der Methode biestNr() sollen unsinnige Anfragen abgefangen werden. D.H. folgende assertions sollen Funktionieren: assert(hercules.biestNr(0) == null); assert(hercules.biestNr(-23) == null); assert(hercules.biestNr(15) == null); Frage 1: Was ist die aktuelle Rückgabe der Methode, wenn n == 0 ist? Aufgabe: ======== In der Java-API-Dokumetation unter java.base / java.lang in der Klasse String Finde heraus, wie man zwei Strings auf alphabetische Reihenfolge vergleicht. d.h. ist "aaa" kleiner oder größer als "bbb" usw. Hinweis: es wird sich ja hier irgendwie um eine Methode handeln -> Bitte einen Link auf die entsprechende Methode compareTo() nimmt ein String-Argument entgegen. Warum kann es *zwei* Strings *miteinander* vergleichen? String s1 = "aaa"; String s2 = "bbb"; // int comp = s1.compareTo(s2); if ( s1.compareTo(s2) < 0 ) { System.out.print("s2 ist der größere String"); } else { System.out.print("s2 ist der kleinere (oder gleiche) String"); } Aufgabe: ======== Implementiere die Methode insert(String monster, int position) ----------------------------------------------- [x] 1. Der übergebene String soll ein neues Listenelement werden ----------------------------------------------- Hinweis: der Code dafür kann aus der bestehenden insert()-Methode abgeschrieben werden Denkt daran: der Code aus der Aufgabenstellung ist online ----------------------------------------------------- [x] 2. Die Liste wird bis vor die gewählte Position durchlaufen ------------------------------------------------------ Hinweis: hier muss abgezählt werden, wie in der biestNr(n) / get(n) - Methode Posted die Schleife (die selbe Schleife, wie in der letzten Hausaufgabe), in der das n-te Listenelement abgezählt wird. Wie heißt in dieser Funktion der Wert, bis zu dem gezählt werden muss? 3. der Nachfolger der gefundenen Stelle wird an den nachfolger des neuen Elements zugewiesen d.h.: der Nachfolger von `weiter` wird an den Nachfolger von `neu` zugewiesen 4. Das neue Element wird zum Nachfolger des gefundenen Elements zugewiesen (siehe andere insert()-Funktion ) d.h. `neu` wird an den Nachfolger von `weiter` zugewiesen Auch für die Schritte 3 u. 4 finden wir den Code schon in der anderen insert()-Methode vor. hercules.insert("Schnabbeldiwauwau", 2); hercules, this | v v-weiter [null,->] -> ["Hydra",->] -> ["Löwe",->] -> ["Medusa",->] -> ["Minotaurus",->] -> ["Nessos",null] [null,->] -> ["Hydra",->] -> ["Schnabbeldiwauwau",->] -> ["Löwe",->] -> ["Medusa",->] -> ["Minotaurus",->] -> ["Nessos",null] Aufgabe: ======== Implementiere die Methode positionOf(). Die Methode nimmt einen Daten-String entgegen und gibt die Position in der Liste zurück, an der die beschriebenen Daten das erste mal auftauchen. positionOf("Huhn") -> 1 positionOf("Nessos") -> 7 positionOf("gibtsnich") -> 0 1. Schreibe die Funktionsdeklaration Hinweis: die Java-Syntax ist ein bisschen anders als in dem Klassendiagramm 2. Welche lokalen Variablen brauchen wir in der Funktion -> String monster; Liste weiter; int position; 3. Wie sieht die Schleife aus?